package com.guigu.abo.controllers.admin.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

//用户登录的拦截器
public class LoginInterceptor implements HandlerInterceptor {

    /*
    * Controller执行前调用此方法、
    * 返回true表示继续执行，返回false中止执行
    * 这里可以加入登录校验、权限拦截等
    * *//*
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        HttpSession session = request.getSession();
        //获取请求的url地址
        String requestURI = request.getRequestURI();
        //说明用户需要登录 放行
        if (requestURI.contains("/userLogin") || requestURI.contains("/respecialityAll") || requestURI.contains("/userinfoAll")){
            return true;
        }

        //如果session不为空 说明登陆过 也该放行
        if (session.getAttribute("user")!=null){
            return true;
        }
        response.sendRedirect("login.jsp");
        return false;
    }

    *//*controller执行后但未信息返回视图前调用此方法
    这里可以在返回用户前对模型数据进行加工处理
    *比如这里加入公用信息以便页面显示
    *//*
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

    }


    *//*
    * controller执行后且视图返回后调用此方法
    * 这里可以得到执行controller时的异常信息
    * 这里可以记录操作日志*//*
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    }*/
}
